package com.chushouya.product.dto.admin.evaluate;

import com.general.framework.core.lang.Lists;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
@ApiModel("API-商品估价信息")
public class ProductEvaluateDataDTO implements Serializable {

    @ApiModelProperty("商品ID")
    private Long productId;

    @ApiModelProperty("商品名称")
    private String productName;

    @ApiModelProperty("商品图片")
    private String productImage;

    @ApiModelProperty("最高回收价")
    private BigDecimal maxPrice;

    @ApiModelProperty("下周下跌价格")
    private BigDecimal nextWeekFallPrice;

    @ApiModelProperty("SKU属性")
    private List<EvaluateSkuAttrDTO> skuAttrs;

    @ApiModelProperty("是否校验SKU存在性")
    private Boolean validateSku = Boolean.FALSE;

    @ApiModelProperty("存在的skuCode列表（用于估价流程置灰不存在的sku属性，为空时表示不强制约束）")
    private List<List<String>> skuCombos = Lists.emptyList();

    @ApiModelProperty("SKU-终结评估流程的选项(即选某些选项就出现获取报价,这是针对老数据把使用情况作为SKU因子的情况，选中的SKU在skuBreakRules时，调用最低估价接口)")
    private List<SkuBreakRuleDTO> skuBreakRules;

}
